iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
Python

我的Python奇幻學習之旅系列 第 9

鐵人賽 Day9 Python的奇幻之旅-運算符號-3

  • 分享至 

  • xImage
  •  

最後介紹,位元運算子、in 與 is 運算子、跨列運算子

位元運算子

在程式語言的底層,所有數值都是以二進位表現 ( 0 和 1 ),「位元運算子」會針對每個數值的「二進位」字元進行位元運算,下面的表格使用 4 ( 二進位 0100 ) 和 5 ( 二進位 0101 ) 為例子

運算子 說明 範例 結果
& 且,二進位數字中「完全相同」的部分為1,不同的為 0 4&5, 0100(4的2進位) 和 0101(5的2進位) 比較後,回傳 0100 4
或,二進位數字「只要有1」的部分都為 1 4&5,0100 和 0101 比較後,回傳 0101 5
^ 互斥,二進位數字「完全相同」的部分都為 0,不同的部分以 1 取代 4^5, 0100 和 0101 比較後,回傳 0001 1
~ 相反,二進位數字 0 變成 1,1 變成 0 ~4,0100 相反為 1011 -5
>> 右移,將二進位數字往右移動指定位數,左側補 0 4>>2,0100 往右移動兩位 0001 1
<< 左移,將二進位數字往左移動指定位數,右側補 0 5<<2,0101 往左移動兩位 10100 20

print(4&5) # 4
print(4|5) # 5
print(4^5) # 1
print(~4) # -5
print(4>>2) # 1
print(5<<2) # 20

in 運算子、is 運算子

in 運算子 可以判斷 b 是否包含 a
is 運算子可以判斷 a 和 b 是否為相同物件
如果判斷包含或相同,回傳 True,否則回傳 False

a = 1
b = 9
c = [1,2,3,4,5]
print(a in c) # True
print(b in c) # False

x = [1,2,3]
y = [1,2,3]
z = x #這裡有將z ,x設為相同物件, 但y沒有
print(x is y) # False
print(x is z) # True

跨列運算子

算式過長,需要換行,除了使用小括號包覆使其換行計算,也能使用「反斜線 \」就可以將程式碼進行換列

注意,使用跨列運算子後不得加上空格或其它字元

a = ( 1 + 2 + 3 +
4 + 5 + 6 +
7 + 8 + 9 ) #45

b = 1 + 2 + 3 +
4 + 5 + 6 +
7 + 8 + 9 #45

https://ithelp.ithome.com.tw/upload/images/20240916/20168458Ik5dSsUxZD.jpg


上一篇
鐵人賽 Day8 Python的奇幻之旅-運算符號-2
下一篇
鐵人賽 Day10 Python的奇幻之旅-list應用-1
系列文
我的Python奇幻學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言